Clion使用踩坑(调用外部DLL配置) 您所在的位置:网站首页 mingw 使用 lib 文件 Clion使用踩坑(调用外部DLL配置)

Clion使用踩坑(调用外部DLL配置)

2023-08-07 10:11| 来源: 网络整理| 查看: 265

如果你调用第三方dll,一切都按照网上配置,结果build报错 undefined reference to xxx 那么恭喜你,看到这篇文章 一种是你target_link_libraries没有配置三方库,第二种是你配对了,但是ToolChians配的不和三方库一直(Window还是linux,x86还是x64,MinGw还是Visual Studio) 解决方法:修改MinGW改为Visual Studio,然后把CMakeLists.txt里面的target_link_libraries中链接的dll文件名改成lib的文件名

使用MinGW调用dll

target_link_libraries(项目名 xxx.dll)

使用Visual Studio调用lib

target_link_libraries(项目名 xxx.lib) 常见问题 ld.exe: cannot find -lxxxx 检测配置的dll或lib名字有没有错误,有没有添加 link_directories(lib) MinGW调用msvc(VS之类的)生成的dll也会报这个错!!! 如果报错要process launch failed: unknown error debug启动加上lib目录的环境变量

 如果使用utf-8运行报错 什么Unicode之类的,添加

add_compile_options("$") add_compile_options("$") Error LNK2001 无法解析的外部符号 aux_source_directory(. SRC_LIST) # 搜索当前目录下的所有.cpp文件 add_executable(项目名 ${SRC_LIST})

项目中使用相对路径读写文件,要配置项目路径,不然读取的是cmake-build-debug路径下面

网上几乎99.99%都说了,常规的使用方法 详细说明(常规的安装配置,网上能搜到的,这里都不做说明)

使用c/c++打包的库分为linux和windows

这里只说windows

静态库(lib)和动态库(dll)

动态库一般会有(.h .lib .dll)这三个文件,如果你是用Visual Studio生成的共享库,那就要修改ToolChians,修改为Visual Studio

toolchain(大多数推荐的是MinGW,这个没错,但是你要你知道你的dll使用什么生成的,不知道就切换下试试)

 引用的配置CMakeLists.txt

cmake_minimum_required(VERSION 3.19) project(callDll) set(CMAKE_CXX_STANDARD 11) link_directories(lib) include_directories(include) add_executable(callDll main.cpp) target_link_libraries(callDll md.lib)

目录结构



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有